/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


// form validation function //
function validate(dregister) {
    var doctorname = dregister.dname.value;    
    var username = dregister.username.value;  
    var password = dregister.password.value;  
    var repassword = dregister.repassword.value;
    var address = dregister.address.value;    
    var email = dregister.email.value;  
    var contact = dregister.mobile.value;  
    var dept=dregister.dept.value;
    var experience=dregister.experience.value;
    var qual=dregister.qual.value;
    var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
    var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
    var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
    var splchar=/[!@#$%^&*+-><?:]/;  
    var mbno=/^([7-9]{1}[0-9]{9})$/;
    var no=/[0-9]/;
    if(doctorname == "") {
        inlineMsg('dname','You must enter your name.',2);
        return false;
    }
    if(!doctorname.match(nameRegex)) {
        inlineMsg('dname','You have entered an invalid name.',2);
        return false;
    }    
    if(doctorname.length<6)
    {
        inlineMsg('dname','u must not have lessthan 6 characters',2);
        return false;
    }	
    if(username=="")
    {
        inlineMsg('username','u must enter uname.',5);
        return false;
    }
    if(username.length<6)
    {
        inlineMsg('username','u must not have lessthan 6 characters',2);
        return false;
    }
    if(username.match(splchar))
    {
        inlineMsg('username','u must not have specialcharacters',3);
        return false;
    }	
	
    if(password=="")
    {
        inlineMsg('password','u must enter password.',3);
        return false;
    }
    if(!password.match(splchar))
    {
        inlineMsg('password','u must  have atleast one specialcharacter',3);
        return false;
    }	
    if(repassword=="")
    {
        inlineMsg('repassword','u must enter conform password.',3);
        return false;
    }
    if(!repassword.match(splchar))
    {
        inlineMsg('repassword','u must  have atleast one specialcharacter',3);
        return false;
    }	
    if(repassword!=password)
    {
        inlineMsg('repassword','the passwords doesnt match',2);
        return false;
    }
	
    if(address=="")
    {
        inlineMsg('address','u must enter address.',2);
        return false;
    }
    if(email=="")
    {
        inlineMsg('email','u must enter email address.',2);
        return false;
    }
    if(!email.match(emailRegex))
    {
        inlineMsg('email','u must enter valid email address.',2);
        return false;
    }
    if(contact=="")
    {
        inlineMsg('mobile','u must enter mobileno',2);
        return false;
    }
    if(!contact.match(mbno))
    {	
        inlineMsg('mobile','u must enter valid mobileno',2);
        return false;
    }
    if(dept=="----please select----")
    {
        inlineMsg('dept','please choose the department',2);
        return false;
    }
    if(experience="")
    {
        inlineMsg('experience','please enter 0 if u hava no experience',2);
        return false;
    }
    
    if(qual=="")
    {
        inlineMsg('qual','please enter qualification.',2);
        return false;
    }
    if(!qual.match(nameRegex))
    {
        inlineMsg('qual','please enter valid name',2);
        return false;
    }
          
    return true;
}

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
    var msg;
    var msgcontent;
    if(!document.getElementById('msg')) {
        msg = document.createElement('div');
        msg.id = 'msg';
        msgcontent = document.createElement('div');
        msgcontent.id = 'msgcontent';
        document.body.appendChild(msg);
        msg.appendChild(msgcontent);
        msg.style.filter = 'alpha(opacity=0)';
        msg.style.opacity = 0;
        msg.alpha = 0;
    } else {
        msg = document.getElementById('msg');
        msgcontent = document.getElementById('msgcontent');
    }
    msgcontent.innerHTML = string;
    msg.style.display = 'block';
    var msgheight = msg.offsetHeight;
    var targetdiv = document.getElementById(target);
    targetdiv.focus();
    var targetheight = targetdiv.offsetHeight;
    var targetwidth = targetdiv.offsetWidth;
    var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
    var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
    msg.style.top = topposition + 'px';
    msg.style.left = leftposition + 'px';
    clearInterval(msg.timer);
    msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
    if(!autohide) {
        autohide = MSGHIDE;  
    }
    window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
    var msg = document.getElementById('msg');
    if(!msg.timer) {
        msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
    }
}

// face the message box //
function fadeMsg(flag) {
    if(flag == null) {
        flag = 1;
    }
    var msg = document.getElementById('msg');
    var value;
    if(flag == 1) {
        value = msg.alpha + MSGSPEED;
    } else {
        value = msg.alpha - MSGSPEED;
    }
    msg.alpha = value;
    msg.style.opacity = (value / 100);
    msg.style.filter = 'alpha(opacity=' + value + ')';
    if(value >= 99) {
        clearInterval(msg.timer);
        msg.timer = null;
    } else if(value <= 1) {
        msg.style.display = "none";
        clearInterval(msg.timer);
    }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
    var left = 0;
    if(target.offsetParent) {
        while(1) {
            left += target.offsetLeft;
            if(!target.offsetParent) {
                break;
            }
            target = target.offsetParent;
        }
    } else if(target.x) {
        left += target.x;
    }
    return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
    var top = 0;
    if(target.offsetParent) {
        while(1) {
            top += target.offsetTop;
            if(!target.offsetParent) {
                break;
            }
            target = target.offsetParent;
        }
    } else if(target.y) {
        top += target.y;
    }
    return top;
}

// preload the arrow //
if(document.images) {
    arrow = new Image(7,80); 
    arrow.src = "msg_arrow.gif"; 
}